package cn.kgc.springmvc.servlet;

import cn.kgc.springmvc.entity.User;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author 课工场
 * @date 2024/2/27
 * @description  /user
 * 1. 同一个模块需要处理不同的请求  按照传统的方式 需要创建不同的servlet
 *    解决方案:  BaseServlet  反射
 * 2. 获取参数的方式繁琐
 * 3. 获取的参数的类型单一  String
 * 4. 传统方式实现页面的跳转 存在路径耦合  和视图的耦合
 */
public class UserServlet extends HttpServlet {

    // @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 1.  获取请求参数
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String age = req.getParameter("age");
        String tel = req.getParameter("tel");

        // 2. 将获取的参数进行封装  User  user
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setTel(tel);
        // String   Integer
        user.setAge(Integer.valueOf(age));

        //3. TODO  调用业务层实现数据的添加  add(User user)

        // 4.  将业务层的处理结果响应给前端页面  转发  重定向  json
        req.getRequestDispatcher("user.jsp").forward(req,resp);

        System.out.println("请求已接收");
    }
}
